package de.dailab.graphworld.ontology;

import de.dailab.graphworld.bean.BeanCarrier;
import de.dailab.graphworld.bean.BeanScout;
import de.dailab.jiactng.agentcore.comm.CommunicationAddressFactory;
import de.dailab.jiactng.agentcore.comm.IGroupAddress;

/**
 * Defines different agent types, each of them becomes its own communication
 * group.
 *
 * @author Kseniya
 */
public enum AgentType {

    SCOUT(BeanScout.GROUP_NAME),
    CARRIER(BeanCarrier.GROUP_NAME);
    private final IGroupAddress address;

    private AgentType(String typeName) {
        this.address = CommunicationAddressFactory.createGroupAddress(typeName);
    }

    public IGroupAddress getAddress() {
        return address;
    }
}
